//usingnamespace @cImport(@cInclude("zip.h"));
pub extern fn zip_strerror(errnum: c_int) [*c]const u8;
pub const struct_zip_t = opaque {};
pub extern fn zip_open(zipname: [*c]const u8, level: c_int, mode: u8) ?*struct_zip_t;
pub extern fn zip_close(zip: ?*struct_zip_t) void;
pub extern fn zip_is64(zip: ?*struct_zip_t) c_int;
pub extern fn zip_entry_open(zip: ?*struct_zip_t, entryname: [*c]const u8) c_int;
pub extern fn zip_entry_openbyindex(zip: ?*struct_zip_t, index: c_int) c_int;
pub extern fn zip_entry_close(zip: ?*struct_zip_t) c_int;
pub extern fn zip_entry_name(zip: ?*struct_zip_t) [*c]const u8;
pub extern fn zip_entry_index(zip: ?*struct_zip_t) c_int;
pub extern fn zip_entry_isdir(zip: ?*struct_zip_t) c_int;
pub extern fn zip_entry_size(zip: ?*struct_zip_t) c_ulonglong;
pub extern fn zip_entry_crc32(zip: ?*struct_zip_t) c_uint;
pub extern fn zip_entry_write(zip: ?*struct_zip_t, buf: ?*const anyopaque, bufsize: usize) c_int;
pub extern fn zip_entry_fwrite(zip: ?*struct_zip_t, filename: [*c]const u8) c_int;
pub extern fn zip_entry_read(zip: ?*struct_zip_t, buf: [*c]?*anyopaque, bufsize: [*c]usize) isize;
pub extern fn zip_entry_noallocread(zip: ?*struct_zip_t, buf: ?*anyopaque, bufsize: usize) isize;
pub extern fn zip_entry_fread(zip: ?*struct_zip_t, filename: [*c]const u8) c_int;
pub extern fn zip_entry_extract(zip: ?*struct_zip_t, on_extract: ?fn (?*anyopaque, c_ulonglong, ?*const anyopaque, usize) callconv(.C) usize, arg: ?*anyopaque) c_int;
pub extern fn zip_entries_total(zip: ?*struct_zip_t) c_int;
pub extern fn zip_entries_delete(zip: ?*struct_zip_t, entries: [*c]const [*c]u8, len: usize) c_int;
pub extern fn zip_stream_extract(stream: [*c]const u8, size: usize, dir: [*c]const u8, on_extract: ?fn ([*c]const u8, ?*anyopaque) callconv(.C) c_int, arg: ?*anyopaque) c_int;
pub extern fn zip_stream_open(stream: [*c]const u8, size: usize, level: c_int, mode: u8) ?*struct_zip_t;
pub extern fn zip_stream_copy(zip: ?*struct_zip_t, buf: [*c]?*anyopaque, bufsize: [*c]usize) isize;
pub extern fn zip_stream_close(zip: ?*struct_zip_t) void;
pub extern fn zip_create(zipname: [*c]const u8, filenames: [*c][*c]const u8, len: usize) c_int;
pub extern fn zip_extract(zipname: [*c]const u8, dir: [*c]const u8, on_extract_entry: ?fn ([*c]const u8, ?*anyopaque) callconv(.C) c_int, arg: ?*anyopaque) c_int;
pub const ZIP_DEFAULT_COMPRESSION_LEVEL = @as(c_int, 6);
pub const ZIP_ENOINIT = -@as(c_int, 1);
pub const ZIP_EINVENTNAME = -@as(c_int, 2);
pub const ZIP_ENOENT = -@as(c_int, 3);
pub const ZIP_EINVMODE = -@as(c_int, 4);
pub const ZIP_EINVLVL = -@as(c_int, 5);
pub const ZIP_ENOSUP64 = -@as(c_int, 6);
pub const ZIP_EMEMSET = -@as(c_int, 7);
pub const ZIP_EWRTENT = -@as(c_int, 8);
pub const ZIP_ETDEFLINIT = -@as(c_int, 9);
pub const ZIP_EINVIDX = -@as(c_int, 10);
pub const ZIP_ENOHDR = -@as(c_int, 11);
pub const ZIP_ETDEFLBUF = -@as(c_int, 12);
pub const ZIP_ECRTHDR = -@as(c_int, 13);
pub const ZIP_EWRTHDR = -@as(c_int, 14);
pub const ZIP_EWRTDIR = -@as(c_int, 15);
pub const ZIP_EOPNFILE = -@as(c_int, 16);
pub const ZIP_EINVENTTYPE = -@as(c_int, 17);
pub const ZIP_EMEMNOALLOC = -@as(c_int, 18);
pub const ZIP_ENOFILE = -@as(c_int, 19);
pub const ZIP_ENOPERM = -@as(c_int, 20);
pub const ZIP_EOOMEM = -@as(c_int, 21);
pub const ZIP_EINVZIPNAME = -@as(c_int, 22);
pub const ZIP_EMKDIR = -@as(c_int, 23);
pub const ZIP_ESYMLINK = -@as(c_int, 24);
pub const ZIP_ECLSZIP = -@as(c_int, 25);
pub const ZIP_ECAPSIZE = -@as(c_int, 26);
pub const ZIP_EFSEEK = -@as(c_int, 27);
pub const ZIP_EFREAD = -@as(c_int, 28);
pub const ZIP_EFWRITE = -@as(c_int, 29);
pub const zip_t = struct_zip_t;
